/**
* @File           :   gorm.go
* @Time           :   2022/05/09
* @Author         :   Mz100
* @Description    :
 */
package initializers

import (
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"xdingtec.cn/xdkaika/app"
)

func GormMysql() *gorm.DB {
	m := app.CONFIG.Mysql
	if m.Dbname == "" {
		return nil
	}
	fmt.Println(m.Dsn())
	mysqlConfig := mysql.Config{
		DSN:                       m.Dsn(), // DSN data source name
		DefaultStringSize:         256,     // string 类型字段的默认长度
		SkipInitializeWithVersion: false,   // 根据版本自动配置
	}
	if db, err := gorm.Open(mysql.New(mysqlConfig), &gorm.Config{}); err != nil {
		return nil
	} else {
		sqlDB, _ := db.DB()
		sqlDB.SetMaxIdleConns(m.MaxIdleConns)
		sqlDB.SetMaxOpenConns(m.MaxOpenConns)
		return db
	}
}
